package br.ucb.sigplan.crud;

import java.util.List;

import br.ucb.sigplan.beans.Conteudo;
import br.ucb.sigplan.dao.ConteudoDAO;
import br.ucb.sigplan.dao.impl.ConteudoDAOImpl;
import br.ucb.sigplan.exception.DAOException;

public class ConteudoCrud {
	private static ConteudoDAO conteudoDAO;
	
	private ConteudoCrud() {
		
	}
	
	public static ConteudoDAO getConteudoDAO() {
		if (conteudoDAO == null) {
			conteudoDAO = new ConteudoDAOImpl();
		}
		return conteudoDAO;
	}
	
	public static void insert(Conteudo conteudo) throws DAOException{
		getConteudoDAO().insert(conteudo);
	}
	
	public static List<Conteudo> findAll(){
		return getConteudoDAO().findAll();
	}
	
	public static Conteudo findById(Integer idconteudo){
		return getConteudoDAO().findById(idconteudo);
	}
	
	public static void update(Conteudo conteudo) throws DAOException{
		getConteudoDAO().update(conteudo);
	}
	
	public static void delete(Integer idconteudo) throws DAOException{
		getConteudoDAO().delete(idconteudo);
	}
	
	public static boolean isConteudoCadastrado(Conteudo conteudo) {
		List<Conteudo> conteudos = getConteudoDAO().findAll();
		if (!conteudos.isEmpty()) {
			return conteudos.contains(conteudo);
		}
		return false;
	}
	
	public static List<Conteudo> findByTipo(Character tipo) throws DAOException{
		return getConteudoDAO().findByTipo(tipo);
	}
}
